REM (Reduce Elan Machine): Core of the New ELAN Compiler

نویسنده

  • Pierre-Etienne Moreau
چکیده

ELAN is a powerful language and environment for specifying and prototyping deduction systems in a language based on rewrite rules controlled by strategies. It offers a natural and simple logical framework for the combination of the computation and deduction paradigms. It supports the design of theorem provers, logic programming languages, constraint solvers and decision procedures. ELAN takes from functional programming the concept of abstract data types and the function evaluation principle based on rewriting. In ELAN, a program is a set of labelled conditional rewrite rules l : l ⇒ r if c. Informally, rewriting a ground term t consists of selecting a rule whose left-hand side (also called pattern) matches the current term (t), or a subterm (tω), computing a substitution σ that gives the instantiation of rule variables (lσ = tω), and applying it to the right-hand side to build the reduced term (when instantiated conditions are satisfied). In general the normalisation of a term may not terminate, or terminate with different results corresponding to different selected rules, selected sub-terms and non-unicity of the substitution σ (in Associative and Commutative (AC) theories for example). So, evaluation by rewriting is essentially non-deterministic and backtracking may be needed to generate all results. One of the main originalities of the ELAN language is to provide AC operators allowing a simpler and more concise specification, and a strategy language allowing the programmer to specify the control on rule applications. This is in contrast to many existing rewriting-based languages where the term reduction strategy is hard-wired and not accessible to the designer of an application. The strategy language offers primitives for sequential composition, iteration, deterministic and non-deterministic choices of elementary strategies that are labelled rules. From these primitives, more complex strategies can be expressed. In addition, the user can introduce new strategy operators and define them by rewrite rules. Evaluation of strategy application is itself based on rewriting. Moreover, it should be emphasised that ELAN has logical foundations based on rewriting logic [4] and detailed in [1]. So the simple and well-known paradigm of rewriting provides both the evaluation mechanism of the language and the logical framework in which deduction systems can be expressed and combined. The full ELAN system (interpreter, compiler, standard library, examples, applications and documentation) is available through the ELAN web page.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compiling Nondeterministic Computations Pem

Implementing a compiler for such a language with nonde-terministic features is known to be a diicult task. This paper presents two new functions setChoicePoint and fail that extend the C language to eeciently handle choice point management. Algorithms and implementation techniques are detailed. As an application, we give compilation schemes to illustrate the power and the easy use of setChoiceP...

متن کامل

Non-deterministic Computations in ELAN

The ELAN system is an environment for specifying and prototyping constraint solvers, theorem provers and deduction systems in general. It also provides a framework for experimenting their combination. The ELAN language is based on rewriting logic and evaluation of labelled conditional rewrite rules. ELAN has two originalities with respect to several other algebraic languages, namely to handle n...

متن کامل

A Choice-Point Library for Backtrack Programming

Implementing a compiler for a language with nondeterministic features is known to be a difficult task. This paper presents two new functions setChoicePoint and fail that extend the C language to efficiently handle choice point management. Originally, these two functions were designed to compile the ELAN strategy language. However, they can be used by programmers for general programming in C. We...

متن کامل

Elan vital chez Bergson

La Philosphie de Bergson vise la vie spirituelle, le spiritualisme, la joie, l’appétit et le changement perpétuel de la réalité. En conséquence las trios notions de la durée, de la mémoire et de l’élan vital constituent la réalité de la vie dans son cheminement et dans son progrès. L’ensemble de ces notions fondamentales décèle la contenu de la vie, et dégage la réalité de ses rigidités de l’au...

متن کامل

Expanding n-gram analytics in ELAN and a case study for sign synthesis

A new extension to ELAN offers expanded n-gram analysis tools including improved search capabilities and an extensive library of statistical measures of association for n-grams. This paper presents an overview of the new tools and a case study in American Sign Language synthesis that exploits these capabilities for computing more natural timing in generated sentences. The new extension provides...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000